/**
 * 
 */
package com.ctg.payroll2.service.cusadmin;

import java.sql.SQLException;

import com.ctg.payroll2.bean.po.SysUser;
import com.ctg.payroll2.exception.AccountHasExistedException;
import com.ctg.platform.util.Page;

/**
 * @author 郑致力
 * 
 */
public interface CsAccountService {

	/**
	 * 新增客户系统管理员
	 * 
	 * @param company_code
	 *            公司标识
	 * @param username
	 *            账户名
	 * @param password
	 *            密码
	 * @param displayName
	 *            显示名
	 * @throws AccountHasExistedException
	 * @throws SQLException
	 */
	void addClientSystemAdminAccount(String company_code, String username,
			String password, String displayName, SysUser user)
			throws AccountHasExistedException, SQLException;

	/**
	 * 
	 * @param username
	 * @param password
	 * @param displayName
	 * @throws AccountHasExistedException
	 * @throws SQLException
	 */
	void addSystemAdminAccount(String username, String password,
			String displayName, SysUser user)
			throws AccountHasExistedException, SQLException;

	/**
	 * 系统管理员分页查询系统管理员账户列表
	 * 
	 * @param user_code
	 *            账号名
	 * @param company_chinese_code
	 *            公司名
	 * @param isSystemAdmin
	 *            是否系统管理员
	 * @param isFreeze
	 *            是否冻结
	 * @param start
	 *            起始行
	 * @param limit
	 *            行数
	 * @return
	 */
	Page queryWithPaginationByAdmin(String user_code,
			String company_chinese_code, Boolean isSystemAdmin,
			Boolean isFreeze, int start, int limit);

	/**
	 * 修改系统管理员信息
	 * 
	 * @param user_id
	 *            标识
	 * @param displayName
	 *            显示名
	 * @throws SQLException
	 */
	void modifyAdminAccount(String user_id, String displayName)
			throws SQLException;
}
